package com.example.tpl.system.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.example.tpl.system.entity.MenuBean;
import com.example.tpl.system.entity.UserBean;

/**
 * 描述：用户信息
 * 作者：刘飞华
 * 日期：2025-01-10 14:58:36
 */
public interface UserDao extends BaseMapper<UserBean> {


    /**
     * 查询用户菜单
     *
     * @param userId 用户id
     * @return List<MenuBean>
     * @author 刘飞华
     * @date: 2023/9/20 14:14
     */
    List<MenuBean> queryUserMenus(long userId);

    /**
     * 查询已分配用户角色列表
     *
     * @param roleId 请求参数
     * @return QueryUserListRespVo
     * @author 刘飞华
     * @date: 2025/01/15 15:09:35
     */
    IPage<UserBean> queryAllocatedList(IPage<UserBean> page, @Param("roleId") long roleId, @Param("mobile") String mobile, @Param("userName") String userName);

    /**
     * 查询未分配用户角色列表
     *
     * @param roleId 请求参数
     * @return QueryUserListRespVo
     * @author 刘飞华
     * @date: 2025/01/15 15:09:35
     */
    IPage<UserBean> queryUnallocatedList(IPage<UserBean> page, @Param("roleId") long roleId, @Param("mobile") String mobile, @Param("userName") String userName);

}
